{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import copy\n",
    "import warnings\n",
    "from tools.file_utilities import make_folder_if_not_exists\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plot\n",
    "import seaborn as sns\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.cluster import KMeans\n",
    "from scipy.cluster import hierarchy\n",
    "from scipy.spatial import distance\n",
    "import qgrid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Signatures to analyse: COSMIC or denovo\n",
    "run_name = 'test_962_PCA'\n",
    "# Mutation type to analyse\n",
    "mutation_types = ['SBS']#, 'DBS', 'ID']\n",
    "SBS_context = 6\n",
    "\n",
    "sigprofiler_output = 'sigprofiler/extractor/v1.1.4/954_Consensus/'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import the metadata\n",
    "data_merged = pd.read_csv('data_merged.csv',index_col=0)\n",
    "\n",
    "data_merged = data_merged.replace('Czech Republic', 'Czechia')\n",
    "data_merged = data_merged.replace('United Kingdom', 'UK')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "93e28296121041f288c3a03bad7bfbf1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "QgridWidget(grid_options={'fullWidthRows': True, 'syncColumnCellResize': True, 'forceFitColumns': False, 'defa…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# import signature attributions\n",
    "merged_sigs_with_metadata = data_merged[['country', 'sex', 'age_diag', 'stage']].copy()\n",
    "# merged_sigs_with_metadata.index = merged_sigs_with_metadata.index.str.replace(r'a', '')\n",
    "for mutation_type in mutation_types:\n",
    "    context = SBS_context if mutation_type=='SBS' else 78 if mutation_type=='DBS' else 83 if mutation_type=='ID' else 'NA'\n",
    "    mutation_type_context = mutation_type + str(context)\n",
    "    mutation_matrix = pd.read_csv('/Users/senkins/work/RCC_analysis/sigprofiler/matrix_generator/v1.2.12/962_Consensus_v3/%s/RCC_Manuscript_v3.%s.all' % (mutation_type, mutation_type_context), sep = '\\t', index_col=0)\n",
    "    mutation_matrix = mutation_matrix.T\n",
    "    # merge with metadata\n",
    "    merged_sigs_with_metadata = pd.concat([mutation_matrix, merged_sigs_with_metadata], axis=1)#.fillna(0)\n",
    "qgrid.show_grid(merged_sigs_with_metadata, grid_options={'forceFitColumns': False, 'defaultColumnWidth': 100})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# dataframe with signatures of interest\n",
    "dataframe_clean = merged_sigs_with_metadata.drop(['country', 'sex', 'age_diag', 'stage'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# normalise TMB to 1 for all samples\n",
    "dataframe = dataframe_clean.div(dataframe_clean.sum(axis=1), axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# scale and center the data before applying the fit method\n",
    "dataframe_normalized=(dataframe - dataframe.mean()) / dataframe.std()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pca = PCA(n_components=3)\n",
    "\n",
    "principalComponents = pca.fit_transform(dataframe_normalized)\n",
    "principalDf = pd.DataFrame(data = principalComponents, columns = ['PC1', 'PC2', 'PC3'])\n",
    "principalDf.index=dataframe_normalized.index\n",
    "plot.plot(range(1,4), pca.explained_variance_ratio_.cumsum(), marker='o',linestyle='--')\n",
    "plot.ylabel('Cumulative Explained Variance')\n",
    "plot.xlabel('N Components')\n",
    "plot.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "wcss = []\n",
    "for i in range (1,21):\n",
    "    kmeans = KMeans(n_clusters=i, random_state=42, init=\"k-means++\")\n",
    "    kmeans.fit(principalComponents)\n",
    "    wcss.append(kmeans.inertia_)\n",
    "plot.plot(range(1,21), wcss, marker='o',linestyle='--')\n",
    "plot.ylabel('WCSS')\n",
    "plot.xlabel('N Components')\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "kmeans = KMeans(n_clusters=4, random_state=42, init=\"k-means++\")\n",
    "labels = kmeans.fit(principalComponents)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "merged_sigs_with_PCAs = pd.merge(merged_sigs_with_metadata, principalDf, left_index=True, right_index=True)\n",
    "merged_sigs_with_PCAs['Segment K-means PCA'] = kmeans.labels_\n",
    "merged_sigs_with_PCAs['Segment'] = merged_sigs_with_PCAs['Segment K-means PCA'].map({0:'First',1:'Second',2:'Third',3:'Fourth'})\n",
    "ax = sns.scatterplot(data=merged_sigs_with_PCAs, x=\"PC1\", y=\"PC3\", hue='country', style='country')\n",
    "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))\n",
    "def plot_kmeans(kmeans, X, n_clusters=4, rseed=0, ax=None):\n",
    "    # plot the input data\n",
    "    ax = ax or plot.gca()\n",
    "\n",
    "    # plot the representation of the KMeans model\n",
    "    centers = kmeans.cluster_centers_\n",
    "    centers = np.delete(centers, 1, axis=1)\n",
    "    centers = np.delete(centers, 3, axis=0)\n",
    "    centers = np.delete(centers, 2, axis=0)\n",
    "    radii = [i+3 for i, center in enumerate(centers)]\n",
    "    color_index = 0\n",
    "    for c, r in zip(centers, radii):\n",
    "        color_index += 1\n",
    "        ax.add_patch(plot.Circle(c, r, fc='none', edgecolor='#F667C6' if color_index == 1 else '#E18632', lw=3, alpha=0.5, zorder=1))\n",
    "plot_kmeans(kmeans, merged_sigs_with_PCAs[['PC1','PC3']], n_clusters=4, ax=ax)\n",
    "plot.legend(loc='center left', bbox_to_anchor=(1, 0.5), frameon=False)\n",
    "plot.tight_layout()\n",
    "plot.savefig('./PCA_COSMIC_%s_%s_PC1vs3_kmeans4_962.pdf' % (mutation_type_context, '_'.join(mutation_types)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
